Add basic functionality for univariate Ore operators#2411
Conversation
|
As long as this is a draft, I am ignoring some style rules. I didn't sort the |
| function PolyFracFieldAnyMap{D,C,V}(d::D,ϕ::V) where {D,C,V} | ||
| return new{D,C,V}(d,ϕ) | ||
| end |
There was a problem hiding this comment.
| function PolyFracFieldAnyMap{D,C,V}(d::D,ϕ::V) where {D,C,V} | |
| return new{D,C,V}(d,ϕ) | |
| end | |
| function PolyFracFieldAnyMap{D,C,V}(d::D,phi::V) where {D,C,V} | |
| return new{D,C,V}(d,phi) | |
| end |
please do not use unicode in variable names, see https://docs.oscar-system.org/dev/DeveloperDocumentation/styleguide/#Unicode
|
I have been playing around with some skew polynomial rings lately and so would also be interested in this functionality. I think this implementation here looks good. There are a few things I think would be worth discussing:
This has the advantage, that we can dispatch on the type
I really like the Sage interface: https://doc.sagemath.org/html/en/reference/noncommutative_polynomial_rings/sage/rings/polynomial/ore_polynomial_ring.html |
This pull request adds basic functionality for univariate Ore polynomials. This is implemented in pure Julia.
For now, this contains arithmetic capabilities and implements an interface similar or equal to
NCPolyRingand such.There are some minor additions that are technically required that would come with this PR.
Currently, there is no way to define a ring homomorphism of fraction fields (or function fields for that instance).
They are a rather common choice for coefficient fields of Ore algebras, that's why they are of interest.
Since for fraction fields of polynomial rings, the notion would naturally extend, I also introduce a type
PolyFracFieldAnyMapthat mimicsPolyRingAnyMap.I would keep this PR at this scope since this is also the point where we fix the interface for Ore algebras
which will be relevant as soon we make use of the implementation in FLINT for some specialised cases.